(set-logic BV)

(define-fun shr1 ((x (BitVec 64))) (BitVec 64) (bvlshr x #x0000000000000001))
(define-fun shr4 ((x (BitVec 64))) (BitVec 64) (bvlshr x #x0000000000000004))
(define-fun shr16 ((x (BitVec 64))) (BitVec 64) (bvlshr x #x0000000000000010))
(define-fun shl1 ((x (BitVec 64))) (BitVec 64) (bvshl x #x0000000000000001))
(define-fun if0 ((x (BitVec 64)) (y (BitVec 64)) (z (BitVec 64))) (BitVec 64) (ite (= x #x0000000000000001) y z))

(synth-fun f ( (x (BitVec 64))) (BitVec 64)
(

(Start (BitVec 64) (#x0000000000000000 #x0000000000000001 x (bvnot Start)
                    (shl1 Start)
 		    (shr1 Start)
		    (shr4 Start)
		    (shr16 Start)
		    (bvand Start Start)
		    (bvor Start Start)
		    (bvxor Start Start)
		    (bvadd Start Start)
		    (if0 Start Start Start)
 ))
)
)
(constraint (= (f #x5F4894141F073EA3) #x002643C3C0F08018))
(constraint (= (f #x18B575FE11A2DF2F) #xC6000001CC180080))
(constraint (= (f #x9566B5BAD7CC0D81) #x401000000023E07C))
(constraint (= (f #xCE2905644542C5E3) #x2184F01330383018))
(constraint (= (f #x9CBA7200DA85C843) #x420109FE00702738))
(constraint (= (f #x54B9F82B987264D0) #x020407804709120F))
(constraint (= (f #x8899D68F56156E78) #x6644006001C00107))
(constraint (= (f #xC55D75E44CB0C8B6) #x30000013220E2601))
(constraint (= (f #x15B87D47660DF7B0) #xC007003011E0000F))
(constraint (= (f #x8CFF1092411D0AB2) #x6200CE493CC0E009))
(constraint (= (f #x4A107DCDC35DF873) #x21CF002038000708))
(constraint (= (f #x4783CA05BD8CB651) #x307821F00062010C))
(constraint (= (f #xC7E59FD7BE2C8E31) #x301040000182618C))
(constraint (= (f #xA14847A6E2543FD7) #x1C27301019038000))
(constraint (= (f #x005F8B37FBB55B7F) #xFF00608000000000))
(constraint (= (f #x47C52E0D5073FBA8) #x000047C52E0D5073))
(constraint (= (f #x2D37F5EA1CB4D646) #x00002D37F5EA1CB4))
(constraint (= (f #x31BF64111B298D44) #x000031BF64111B29))
(constraint (= (f #xA02C2FDF715416A2) #x0000202C2FDF7154))
(constraint (= (f #x991DE0A36CD0C62E) #x0000191DE0A36CD0))
(constraint (= (f #x0000000000000001) #x0000000000000000))
(constraint (= (f #xFFFFFFFFFFFFFFFA) #x0000000000000001))
(constraint (= (f #xFFFFFFFFFFFFFFF2) #x0000000000000009))
(constraint (= (f #xFFFFFFFFFFFFFFF4) #x0000000000000003))
(constraint (= (f #xFFFFFFFFFFFFFFFE) #x0000000000000001))
(constraint (= (f #xFFFFFFFFFFFFFFFC) #x0000000000000003))
(constraint (= (f #xFFFFFFFFFFFFFFFF) #x0000000000000000))
(constraint (= (f #xFFFFFFFFFFFFFFFD) #x0000000000000000))
(constraint (= (f #xFFFFFFFFFFFFFFF7) #x0000000000000000))
(constraint (= (f #xFFFFFFFFFFFFFFFB) #x0000000000000000))
(constraint (= (f #x1FBD4C14FD8433CD) #xC00023C200738820))
(constraint (= (f #x2FC39B83AA4E25CA) #x00002FC39B83AA4E))
(constraint (= (f #x518223B7849D13B8) #x0C7998007240C807))
(constraint (= (f #x3BDB048C0BC46A02) #x00003BDB048C0BC4))
(constraint (= (f #x46C292A41CAEF408) #x000046C292A41CAE))
(constraint (= (f #xE825D5AE520914BA) #x0790000109E4C201))
(constraint (= (f #x541E2915D91A0BF6) #x03C184C004C1E001))
(constraint (= (f #xE3CF759FCDD516AC) #x000063CF759FCDD5))
(constraint (= (f #xD87F3F9F50402D63) #x070080400F3F8018))
(constraint (= (f #xBC6AC034975AE02C) #x00003C6AC034975A))
(constraint (= (f #x0000000000000001) #x0000000000000000))
(constraint (= (f #xF34D9A4058928739) #x0820413F06487084))
(constraint (= (f #xFFFFFFFFFFFFFFF1) #x000000000000000C))
(constraint (= (f #xFFFFFFFFFFFFFFFA) #x0000000000000001))
(check-synth)
